package xan.tm.digital.common.utils;


import xan.tm.digital.common.entity.BaseResponse;
import xan.tm.digital.common.enums.ErrorCodeEnum;

/**
 * 返回结果工具类 * @date 2023/06/19
 */
public class ResultUtil {

    /**
     * 成功
     *
     * @param data 数据
     * @return {@code BaseResponse<T>}
     */
    public static <T> BaseResponse<T> success(T data) {
        return new BaseResponse<>(0, data, "ok");
    }

    /**
     * 失败
     *
     * @param errorCodeEnum 错误码
     * @return
     */
    public static BaseResponse error(ErrorCodeEnum errorCodeEnum) {
        return new BaseResponse<>(errorCodeEnum);
    }

    /**
     * 失败
     *
     * @param code 状态码
     * @param message 信息
     * @return
     */
    public static BaseResponse error(int code, String message) {
        return new BaseResponse(code, null, message);
    }

    /**
     * 失败
     *
     * @param errorCodeEnum 错误码
     * @param message 信息
     * @return
     */
    public static BaseResponse error(ErrorCodeEnum errorCodeEnum, String message) {
        return new BaseResponse(errorCodeEnum.getCode(), null, message);
    }
}
